TempData হলো একটি বিশেষ ধরনের ডেটা স্টোর যা এক রিকোয়েস্ট থেকে আরেক রিকোয়েস্টে ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। এটি সাধারণত এমন তথ্য স্টোর করতে ব্যবহৃত হয় যা এক রিকোয়েস্টের জন্য প্রাসঙ্গিক, যেমন একটি সফল সাবমিশন বা একটি ত্রুটির বার্তা, যা পরবর্তী রিকোয়েস্টে ব্যবহারকারীর কাছে দেখানো হবে।
ASP.NET Core-এ TempData ব্যবহার করা হয় সাধারণত Redirect বা Post-Redirect-Get প্যাটার্নের সময়, যেখানে আপনাকে রিকোয়েস্টের মাঝে কিছু ডেটা পাস করতে হয়, এবং পরবর্তী রিকোয়েস্টে সেই ডেটা প্রয়োজন হয়।
TempData ব্যবহার করতে আপনি Controller এর মধ্যে TempData প্রপার্টি সেট করতে পারেন:
public class HomeController : Controller
{
public IActionResult Index()
{
// TempData তে একটি বার্তা সেট করা
TempData["Message"] = "আপনার নিবন্ধন সফল হয়েছে!";
return RedirectToAction("Success");
}
public IActionResult Success()
{
// TempData থেকে বার্তা নেওয়া
var message = TempData["Message"];
return View((string)message); // Success.cshtml এ বার্তা পাঠানো
}
}
এখানে, TempData["Message"] সেট করা হয়েছে এবং পরবর্তী রিকোয়েস্টে Success অ্যাকশনে সেই বার্তা প্রদর্শিত হবে।
TempData-তে রাখা ডেটা পরবর্তী রিকোয়েস্টে অ্যাক্সেস করা হয় এবং সেগুলি Controller বা View-এ ব্যবহার করা যায়:
@{
// TempData থেকে বার্তা দেখানো হচ্ছে
var message = TempData["Message"] as string;
}
@if (message != null)
{
<div class="alert alert-success">@message</div>
}
এখানে, TempData["Message"] থেকে বার্তা নেওয়া হয়েছে এবং যদি কোন বার্তা থাকে তবে সেটি UI-তে প্রদর্শিত হবে।
public IActionResult Index()
{
TempData["Message"] = "এই বার্তা পরবর্তী রিকোয়েস্টে থাকবে!";
TempData.Keep("Message"); // TempData থেকে বার্তা রাখবে পরবর্তী রিকোয়েস্টে
return RedirectToAction("Success");
}
public IActionResult Success()
{
var message = TempData.Peek("Message");
return View((string)message);
}
এখানে, TempData থেকে মান পড়া হয়েছে এবং সেটি পরবর্তী রিকোয়েস্টের জন্য থাকবে।
TempData সাধারণত Post-Redirect-Get প্যাটার্নে ব্যবহার করা হয়, যেখানে একটি HTTP POST রিকোয়েস্ট থেকে ডেটা পাওয়ার পর ব্যবহারকারীকে একটি HTTP GET রিকোয়েস্টে রিডাইরেক্ট করা হয় এবং সেই সময়ে ডেটা সহ ফলাফল দেখানো হয়।
[HttpPost]
public IActionResult SubmitForm(User user)
{
if (ModelState.IsValid)
{
// TempData সেট করা
TempData["SuccessMessage"] = "ফর্ম সফলভাবে জমা হয়েছে!";
return RedirectToAction("FormSuccess");
}
return View(user);
}
public IActionResult FormSuccess()
{
// TempData থেকে ডেটা নেয়া
var successMessage = TempData["SuccessMessage"];
return View((string)successMessage);
}
এখানে, SubmitForm অ্যাকশনে ফর্ম সাবমিশনের পর ব্যবহারকারীকে FormSuccess অ্যাকশনে রিডাইরেক্ট করা হয়, এবং TempData থেকে একটি সফল বার্তা দেখানো হয়।
ASP.NET Core-এ TempData একটি গুরুত্বপূর্ণ উপাদান, যা রিকোয়েস্টের মধ্যে সাময়িক ডেটা পাস করতে সাহায্য করে। এটি সাধারণত Post-Redirect-Get প্যাটার্নে ব্যবহৃত হয়, যেখানে একটি রিকোয়েস্ট থেকে পরবর্তী রিকোয়েস্টে ডেটা সংরক্ষিত থাকে। TempData ব্যবহার করে সফল অপারেশন, ত্রুটি বার্তা বা অন্য কোনও সাময়িক তথ্য শেয়ার করা যায়, এবং এটি ডেভেলপমেন্ট ও ইউআই ইন্টারঅ্যাকশনের ক্ষেত্রে অত্যন্ত কার্যকর।
common.read_more